package com.example.javapracticaltraining.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.javapracticaltraining.entity.dto.HealthReport;
import com.example.javapracticaltraining.entity.pojo.AiHealthReport;

import java.util.List;

/**
 * 健康报告服务接口
 */
public interface AiHealthReportService extends IService<AiHealthReport> {

    /**
     * 保存健康报告
     * @param healthReport 健康报告DTO
     * @param targetRole 目标接收者角色
     * @return 保存后的健康报告实体
     */
    AiHealthReport saveHealthReport(HealthReport healthReport, String targetRole);

    /**
     * 根据老人ID获取健康报告列表
     * @param elderlyId 老人ID
     * @return 健康报告列表
     */
    List<AiHealthReport> getReportsByElderlyId(Integer elderlyId);

    /**
     * 根据报告类型获取健康报告列表
     * @param reportType 报告类型
     * @return 健康报告列表
     */
    List<AiHealthReport> getReportsByType(String reportType);

    /**
     * 根据老人ID和报告类型获取健康报告列表
     * @param elderlyId 老人ID
     * @param reportType 报告类型
     * @return 健康报告列表
     */
    List<AiHealthReport> getReportsByElderlyIdAndType(Integer elderlyId, String reportType);
}